import accessEnum from "@/access/accessEnum";

/**
 * 判断当前用户是否有权限访问当前页面
 * @param loginUser 当前登录用户
 * @param needAccess  当前页面需要的权限大小
 * @return boolean 返回是否有权限访问当前页面
 */
const checkAccess = (loginUser: API.LoginUserVO, needAccess: string) => {
  console.log("当前登录用户的登录态" + loginUser.userRole);
  const loginUserAccess = loginUser?.userRole ?? accessEnum.NOT_LOGIN;
  //如果是不需要登录就可以访问的界面，就直接返回true
  if (needAccess === accessEnum.NOT_LOGIN) {
    return true;
  }
  //如果当前页面是需要登录才能访问的界面，就判断是否为未登录
  if (needAccess === accessEnum.USER) {
    if (loginUserAccess === accessEnum.NOT_LOGIN) {
      return false;
    }
    return true;
  }
  //如果当前页面是需要管理员才能访问的界面，就判断是否为管理员
  if (needAccess === accessEnum.ADMIN) {
    if (loginUserAccess !== accessEnum.ADMIN) {
      return true;
    }
    return false;
  }
};

export default checkAccess;
